昨天提到了許多測試類型,今天要分別對這些測試類型來做簡單的介紹~
Unit test就如同他的名字,是以一個軟體中最小可測試的單位(unit)來測試,通常是一個function或是method或是class,它的特點是執行速度快,範圍小,並且獨立於每一個test case,不會互相影響。
它的命名故事很有趣,因為工程師在首次啟動硬體設備時,如果沒有冒煙就代表測試成功XD (冒煙就是燒起來了)
它的特點是測試軟體主要功能的可行性,以確認軟體的穩定性,不涉及詳細的功能和邊界情況,因此測試範圍有限。
因此他執行的速度也較快。
UAT是確認軟體是否按照原先定義的需求和業務目標進行設計和開發,通常在一個接近生產環境的系統中進行測試,這個環境模擬了實際運行時的條件,跟正式環境要越像越好。
這樣才能滿足user的需求,通常是前後端整合一起給user測試而不像上面兩種是前後端可以分開測。
整合測試的目的是確保各個模塊之間的數據交換、功能和interface能夠正常工作。
因此整合測試的範圍可以很大,也可以小到兩個模塊之間。
回歸測試目的是確保軟體的修改不會引入新的錯誤或缺陷。每新增一個功能,它就會將所有的測試再跑一次,它的範圍包括單元測試、整合測試到系統測試,因此它跟重複跑unit test又有點不一樣。
因此它的測試範圍很大,跑一次的時間也會較unit test久。
它的目的是確保所有的文字、訊息和用戶界面元素都正確翻譯並符合目標市場的語言規範。
例如這程式應該要使用user的母語,使用user的貨幣,並且沒有不穩定的 UI 問題。未能測試這些內容可能會導致代價高昂的誤解和user拒絕使用應用程式或產品。如果它不能反映user的文化、語言或生活方式,user可能會拒絕使用它並尋找替代方案。
它的目的在於確保軟體或系統能夠在不同的平台、操作系統或硬體設備上相互運作。
例如跨OS測試,跨瀏覽器測試等。
因此它的範圍更大了,因為它的環境複雜很多,例如windows配chrome瀏覽器,或是linux配chrome瀏覽器是否都要測試過呢(?
今天我們認識了不少的測試types,以後看到這些名詞就不會一頭霧水了XD
https://testlio.com/blog/what-is-localization-testing/